package sucre

class Alumno implements Serializable{
    //Datos Personales.
    String cedula
    String nombres
    String apellidos
    String nacionalidad
    Date fechaDeNacimiento //DD-MM-AAAA
    String lugarDeNacimiento
    String genero //Masculino, Femenino
    String estadoCivil  // Soltero, casado, viudo, divorciado, concubino
    String grupoSanguineo // Combo 
    String discapacidad //Auditiva, fisico-motor, visual
    String telefonoHabitacion
    String telefonoPersonal
    String correo
    String correoAlternativo
    String direccionHabitacion
    String ocupacion
    String cohorte
    Boolean becado
    Boolean misionRivas
    Boolean puebloIndigena
    String rep
    
    //Datos del titulo de Bachiller.
    String tituloBachiller
    String numeroTitulo
    String libro
    String folio
    String codigoPlantel
    String nombrePlantel
    String anioTitulo
    
    //propiedades para almacenar datos inscripcionInicial
    String idInscripcion
    Date fechaInscripcion //DD-MM-AAAA
    
    //se inscribe en una carrera o especialidad
    static belongsTo = [especialidad:Especialidad]
    //tiene una lista de inscripciones
    static hasMany = [inscripciones:Inscripcion]
    
    static mapping = {
        table  'parametrizar_alumnos'
        version  false
        id column : 'id'
    }
    static constraints = {
        cedula nullable: false, blank: false, unique:true, matches: "[0-9]{7,10}"
        nombres nullable: false, blank: false
        apellidos nullable: false, blank: false
        nacionalidad nullable: true
        fechaDeNacimiento nullable: true
        lugarDeNacimiento nullable: true
        genero nullable: true
        estadoCivil  nullable: true
        grupoSanguineo nullable: true
        discapacidad nullable: true    
        telefonoPersonal  matches: "[0-9]{2,4}-?[0-9]{7,10}"
        telefonoHabitacion matches:"[0-9]{2,4}-?[0-9]{6,7}"
        correo nullable: false, blank: false, email:true, unique:true
        correoAlternativo email:true, nullable: true
        direccionHabitacion nullable: true
        ocupacion nullable: true
        cohorte nullable: true
        becado nullable: true
        misionRivas nullable: true 
        
        rep nullable: true
        tituloBachiller nullable: true
        numeroTitulo nullable: true
        libro nullable: true
        folio nullable: true
        codigoPlantel nullable: true
        nombrePlantel nullable: true
        anioTitulo nullable: true
    
        
        idInscripcion nullable: true
        fechaInscripcion nullable: true
        especialidad nullable: true
        puebloIndigena nullable: true
        
    }
    public String toString(){
        return nombres;
    }
}